キー操作が世知辛いのでJupyterNotebookをvim色に染めてみた
Pythonにてデータ操作等を行う際にJupyterNotebookはとても便利なツールです。ですが、編集する際に
「ブラウザとTerminalとの往復でキー操作を色々間違える」
という状況に出くわしました。
「キーバインドを統一したい」と思って調べてみたところ、やはり同じ事を考えた先人がいたようです。手続きを写経しつつ、各ライブラリの公式ドキュメントを元に幾つか調整したものをまとめてみました。
必要なもの
以下のライブラリを導入していきます。
なお、今回の前提として以下のコマンド及び環境設定実施済みです。
echo 'export PIPENV_VENV_IN_PROJECT=true' >> ~/.zshrc pipenv install --python 3.6 pipenv install jupyter
anaconda
パッケージインストーラとコマンドラインインストーラの両方があります。今回はパッケージインストーラを選択しました。
jupyter_contrib_nbextensions
extentionを追加します。condaコマンドで実行します。
exec $SHELL -l conda install -c conda-forge jupyter_contrib_nbextensions
jupyter-vim-binding
vimのキーバインドを追加します。公式のインストール手順で実行します。https://github.com/lambdalisue/jupyter-vim-binding
# Create required directory in case (optional) mkdir -p $(jupyter --data-dir)/nbextensions # Clone the repository cd $(jupyter --data-dir)/nbextensions git clone https://github.com/lambdalisue/jupyter-vim-binding vim_binding # Activate the extension jupyter nbextension enable vim_binding/vim_binding
jupyter-theme
テーマを追加します。
pipenv install jupyterthemes jt -t chesterish -T -f roboto -fs 9 -tf merriserif -tfs 11 -nf ptsans -nfs 11 -dfs 8 -ofs 8
結果
いい感じの色具合になりました。pyファイルを編集すると、vimのキーバインドになっていることもわかります。
まとめ
JupyterNotebookでの編集も、普段の使い慣れたエディタ操作で行えることが一番の負荷軽減につながると思います。また、この記事ではvimでの対応を挙げましたが、emacsでのやり方もあるようです。気になる方は検索してみてください。
今回は以下の記事を参考にしました。